config_type Derived Type

type, public :: config_type

Configuration type for NAFPack


Components

Type Visibility Attributes Name Initial
real(kind=dp), public :: pivot_tolerance = 1.0e-14_dp
real(kind=dp), public :: convergence_tolerance = 1.0e-12_dp
real(kind=dp), public :: residual_tolerance = 1.0e-10_dp
integer, public :: max_iterations = 10000
integer, public :: block_size = 64
logical, public :: use_openmp = .TRUE.
logical, public :: use_blas = .TRUE.
logical, public :: preallocate_workspace = .TRUE.
integer, public :: workspace_size = 1000
logical, public :: enable_debug = .FALSE.
logical, public :: enable_timing = .FALSE.
character(len=100), public :: log_file = "nafpack.log"
character(len=50), public :: default_direct_method = "A_LU"
character(len=50), public :: default_iterative_method = "Gauss_Seidel"
character(len=50), public :: default_preconditioner = "ILU"

Source Code

    TYPE :: config_type
        ! Numerical tolerances
        REAL(dp) :: pivot_tolerance = 1.0e-14_dp
        REAL(dp) :: convergence_tolerance = 1.0e-12_dp
        REAL(dp) :: residual_tolerance = 1.0e-10_dp
        
        ! Performance settings
        INTEGER :: max_iterations = 10000
        INTEGER :: block_size = 64
        LOGICAL :: use_openmp = .TRUE.
        LOGICAL :: use_blas = .TRUE.
        
        ! Memory management
        LOGICAL :: preallocate_workspace = .TRUE.
        INTEGER :: workspace_size = 1000
        
        ! Debugging and logging
        LOGICAL :: enable_debug = .FALSE.
        LOGICAL :: enable_timing = .FALSE.
        CHARACTER(LEN=100) :: log_file = "nafpack.log"
        
        ! Method selection
        CHARACTER(LEN=50) :: default_direct_method = "A_LU"
        CHARACTER(LEN=50) :: default_iterative_method = "Gauss_Seidel"
        CHARACTER(LEN=50) :: default_preconditioner = "ILU"
    END TYPE config_type